package com.ruoyi.violation.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.manger.domain.RegulationConfig;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 车辆违章上报信息对象 t_vehicle_violation_report
 * 
 * @author ssh
 * @date 2024-12-15
 */
public class VehicleViolationReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键Id */
    private Long id;

    /** 车辆ID */
    @Excel(name = "车辆ID")
    private Long vehiceId;

    /** 车辆违章条例ID */
    @Excel(name = "车辆违章条例ID")
    private Long vehiceViolationId;

    /** 标记处理意见ID */
    @Excel(name = "标记处理意见ID")
    private Long resolutionId;

    /** 违章行为类型 */
    @Excel(name = "违章行为类型")
    private Long violationType;

    /** 违章运输公司ID */
    @Excel(name = "违章运输公司ID")
    private Long violationCompanyId;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String vehiceCode;

    /** 省编号 */
    @Excel(name = "省编号")
    private String provinceCode;

    /** 省名字 */
    @Excel(name = "省名字")
    private String provinceName;

    /** 市编号 */
    @Excel(name = "市编号")
    private String cityCode;

    /** 市 */
    @Excel(name = "市")
    private String cityName;

    /** 区县编号 */
    @Excel(name = "区县编号")
    private String areaCode;

    /** 区/县 */
    @Excel(name = "区/县")
    private String areaName;

    /** 乡镇名称 */
    @Excel(name = "乡镇名称")
    private String townName;

    /** 乡镇编码 */
    @Excel(name = "乡镇编码")
    private String townCode;

    /** 图片地址,多个使用逗号隔开 */
    @Excel(name = "图片地址,多个使用逗号隔开")
    private String imageUrl;

    /** 视频地址,多个使用逗号隔开 */
    @Excel(name = "视频地址,多个使用逗号隔开")
    private String videoUrl;

    /** 审核状态，0待审核，1-审核不通过，2-审核通过 */
    @Excel(name = "审核状态，0待审核，1-审核不通过，2-审核通过")
    private String auditStatus;

    /** 违章地点 */
    @Excel(name = "违章地点")
    private String address;

    /** 是否阅读，0-未读，1-已读 */
    @Excel(name = "是否阅读，0-未读，1-已读")
    private Long isRead;

    /** 是否处理，0-未读，1-已读 */
    @Excel(name = "是否处理，0-未读，1-已读")
    private Long isHandle;

    /** 数据状态（作为逻辑删除，0为正常-1为删除） */
    @Excel(name = "数据状态", readConverterExp = "作=为逻辑删除，0为正常-1为删除")
    private Long status;

    /** 整改现场照片 */
    @Excel(name = "整改现场照片")
    private String handleImgUrl;

    /** 整改说明 */
    @Excel(name = "整改说明")
    private String handleContent;

    /** 工地负责单位ID */
    @Excel(name = "工地负责单位ID")
    private Long construtionUnitId;

    /** 执法人员ID */
    @Excel(name = "执法人员ID")
    private Long lawerUserId;

    /** 审核不通过原因 */
    @Excel(name = "审核不通过原因")
    private String auditReason;

    /** 执法人员姓名 */
    @Excel(name = "执法人员姓名")
    private String lawerUserName;

    /** 审核人员ID */
    @Excel(name = "审核人员ID")
    private String auditUserId;

    /** 违章金额 */
    @Excel(name = "违章金额")
    private BigDecimal violationAmount;

    /** 违章时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "违章时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date violationTime;

    /** 处罚时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处罚时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date penaltyTime;

    /** 经度 */
    @Excel(name = "经度")
    private String lat;

    /** 纬度 */
    @Excel(name = "纬度")
    private String lon;

    /** 定位位置描述 */
    @Excel(name = "定位位置描述")
    private String areaAddress;

    /** 巡查记录编号 */
    @Excel(name = "巡查记录编号")
    private String reportNumber;

    /** 运输公司名字 */
    @Excel(name = "运输公司名字")
    private String transCompanyName;

    private RegulationConfig regulationConfig;

    public RegulationConfig getRegulationConfig() {
        return regulationConfig;
    }

    private String violationTypeName;

    public String getViolationTypeName() {
        return violationTypeName;
    }

    public void setViolationTypeName(String violationTypeName) {
        this.violationTypeName = violationTypeName;
    }

    public void setRegulationConfig(RegulationConfig regulationConfig) {
        this.regulationConfig = regulationConfig;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setVehiceId(Long vehiceId) 
    {
        this.vehiceId = vehiceId;
    }

    public Long getVehiceId() 
    {
        return vehiceId;
    }
    public void setVehiceViolationId(Long vehiceViolationId) 
    {
        this.vehiceViolationId = vehiceViolationId;
    }

    public Long getVehiceViolationId() 
    {
        return vehiceViolationId;
    }
    public void setResolutionId(Long resolutionId) 
    {
        this.resolutionId = resolutionId;
    }

    public Long getResolutionId() 
    {
        return resolutionId;
    }
    public void setViolationType(Long violationType) 
    {
        this.violationType = violationType;
    }

    public Long getViolationType() 
    {
        return violationType;
    }
    public void setViolationCompanyId(Long violationCompanyId) 
    {
        this.violationCompanyId = violationCompanyId;
    }

    public Long getViolationCompanyId() 
    {
        return violationCompanyId;
    }
    public void setVehiceCode(String vehiceCode) 
    {
        this.vehiceCode = vehiceCode;
    }

    public String getVehiceCode() 
    {
        return vehiceCode;
    }
    public void setProvinceCode(String provinceCode) 
    {
        this.provinceCode = provinceCode;
    }

    public String getProvinceCode() 
    {
        return provinceCode;
    }
    public void setProvinceName(String provinceName) 
    {
        this.provinceName = provinceName;
    }

    public String getProvinceName() 
    {
        return provinceName;
    }
    public void setCityCode(String cityCode) 
    {
        this.cityCode = cityCode;
    }

    public String getCityCode() 
    {
        return cityCode;
    }
    public void setCityName(String cityName) 
    {
        this.cityName = cityName;
    }

    public String getCityName() 
    {
        return cityName;
    }
    public void setAreaCode(String areaCode) 
    {
        this.areaCode = areaCode;
    }

    public String getAreaCode() 
    {
        return areaCode;
    }
    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }
    public void setTownName(String townName) 
    {
        this.townName = townName;
    }

    public String getTownName() 
    {
        return townName;
    }
    public void setTownCode(String townCode) 
    {
        this.townCode = townCode;
    }

    public String getTownCode() 
    {
        return townCode;
    }
    public void setImageUrl(String imageUrl) 
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() 
    {
        return imageUrl;
    }
    public void setVideoUrl(String videoUrl) 
    {
        this.videoUrl = videoUrl;
    }

    public String getVideoUrl() 
    {
        return videoUrl;
    }
    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setIsRead(Long isRead) 
    {
        this.isRead = isRead;
    }

    public Long getIsRead() 
    {
        return isRead;
    }
    public void setIsHandle(Long isHandle) 
    {
        this.isHandle = isHandle;
    }

    public Long getIsHandle() 
    {
        return isHandle;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setHandleImgUrl(String handleImgUrl) 
    {
        this.handleImgUrl = handleImgUrl;
    }

    public String getHandleImgUrl() 
    {
        return handleImgUrl;
    }
    public void setHandleContent(String handleContent) 
    {
        this.handleContent = handleContent;
    }

    public String getHandleContent() 
    {
        return handleContent;
    }
    public void setConstrutionUnitId(Long construtionUnitId) 
    {
        this.construtionUnitId = construtionUnitId;
    }

    public Long getConstrutionUnitId() 
    {
        return construtionUnitId;
    }
    public void setLawerUserId(Long lawerUserId) 
    {
        this.lawerUserId = lawerUserId;
    }

    public Long getLawerUserId() 
    {
        return lawerUserId;
    }
    public void setAuditReason(String auditReason) 
    {
        this.auditReason = auditReason;
    }

    public String getAuditReason() 
    {
        return auditReason;
    }
    public void setLawerUserName(String lawerUserName) 
    {
        this.lawerUserName = lawerUserName;
    }

    public String getLawerUserName() 
    {
        return lawerUserName;
    }
    public void setAuditUserId(String auditUserId) 
    {
        this.auditUserId = auditUserId;
    }

    public String getAuditUserId() 
    {
        return auditUserId;
    }
    public void setViolationAmount(BigDecimal violationAmount) 
    {
        this.violationAmount = violationAmount;
    }

    public BigDecimal getViolationAmount() 
    {
        return violationAmount;
    }
    public void setViolationTime(Date violationTime) 
    {
        this.violationTime = violationTime;
    }

    public Date getViolationTime() 
    {
        return violationTime;
    }
    public void setPenaltyTime(Date penaltyTime) 
    {
        this.penaltyTime = penaltyTime;
    }

    public Date getPenaltyTime() 
    {
        return penaltyTime;
    }
    public void setLat(String lat) 
    {
        this.lat = lat;
    }

    public String getLat() 
    {
        return lat;
    }
    public void setLon(String lon) 
    {
        this.lon = lon;
    }

    public String getLon() 
    {
        return lon;
    }
    public void setAreaAddress(String areaAddress) 
    {
        this.areaAddress = areaAddress;
    }

    public String getAreaAddress() 
    {
        return areaAddress;
    }
    public void setReportNumber(String reportNumber) 
    {
        this.reportNumber = reportNumber;
    }

    public String getReportNumber() 
    {
        return reportNumber;
    }
    public void setTransCompanyName(String transCompanyName) 
    {
        this.transCompanyName = transCompanyName;
    }

    public String getTransCompanyName() 
    {
        return transCompanyName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("vehiceId", getVehiceId())
            .append("vehiceViolationId", getVehiceViolationId())
            .append("resolutionId", getResolutionId())
            .append("violationType", getViolationType())
            .append("violationCompanyId", getViolationCompanyId())
            .append("vehiceCode", getVehiceCode())
            .append("provinceCode", getProvinceCode())
            .append("provinceName", getProvinceName())
            .append("cityCode", getCityCode())
            .append("cityName", getCityName())
            .append("areaCode", getAreaCode())
            .append("areaName", getAreaName())
            .append("townName", getTownName())
            .append("townCode", getTownCode())
            .append("imageUrl", getImageUrl())
            .append("videoUrl", getVideoUrl())
            .append("auditStatus", getAuditStatus())
            .append("remark", getRemark())
            .append("address", getAddress())
            .append("isRead", getIsRead())
            .append("isHandle", getIsHandle())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("handleImgUrl", getHandleImgUrl())
            .append("handleContent", getHandleContent())
            .append("construtionUnitId", getConstrutionUnitId())
            .append("lawerUserId", getLawerUserId())
            .append("auditReason", getAuditReason())
            .append("lawerUserName", getLawerUserName())
            .append("auditUserId", getAuditUserId())
            .append("violationAmount", getViolationAmount())
            .append("violationTime", getViolationTime())
            .append("penaltyTime", getPenaltyTime())
            .append("lat", getLat())
            .append("lon", getLon())
            .append("areaAddress", getAreaAddress())
            .append("reportNumber", getReportNumber())
            .append("transCompanyName", getTransCompanyName())
            .toString();
    }
}
